
 1000  *SAVE S.MSG INTO WINDOW
 1010  *--------------------------------
 1020  HOME   .EQ $FC58
 1030  COUT   .EQ $FDED
 1040  *--------------------------------
 1050  PNTR   .EQ $00,01
 1060  WNDTOP .EQ $22
 1070  WNDBOT .EQ $23
 1080  *--------------------------------
 1090  *   CALL:   JSR MSG.IN.WINDOW
 1100  *           .DA #<window number>
 1110  *           .AS text of message
 1120  *           .HS 00    <end of msg flag>
 1130  *--------------------------------
 1140  MSG.IN.WINDOW
 1150         PLA          GET RETURN ADDRESS INTO PNTR
 1160         STA PNTR     LO BYTE
 1170         PLA
 1180         STA PNTR+1   HI BYTE
 1190  *---SETUP WINDOW TOP & BOTTOM----
 1200         JSR GET.NEXT.CALL.BYTE
 1210         TAX          WINDOW INDEX
 1220         LDA WINDOW.DATA,X
 1230         STA WNDTOP
 1240         LDA WINDOW.DATA+1,X
 1250         STA WNDBOT
 1260         JSR HOME     CLEAR THE WINDOW
 1270  *---DISPLAY MESSAGE, IF ANY------
 1280         LDY #0
 1290  .1     JSR GET.NEXT.CALL.BYTE
 1300         BEQ .2       END OF MESSAGE
 1310         ORA #$80     ...JUST IN CASE
 1320         JSR COUT
 1330         JMP .1
 1340  *---RETURN TO CALLER-------------
 1350  .2     LDA PNTR+1   HI BYTE
 1360         PHA
 1370         LDA PNTR     LO BYTE
 1380         PHA
 1390         RTS
 1400  *--------------------------------
 1410  GET.NEXT.CALL.BYTE
 1420         INC PNTR     LO BYTE
 1430         BNE .1
 1440         INC PNTR+1   HI BYTE
 1450  .1     LDA (PNTR),Y
 1460         RTS
 1470  *--------------------------------
 1480  WINDOW.DATA
 1490         .DA #0,#24,#0,#3,#9,#18,#20,#24
 1500  *--------------------------------
 1510  T
 1520         JSR MSG.IN.WINDOW
 1530         .DA #2       TOP WINDOW
 1540         .AS -/TOP LINE OF THE SCREEN/
 1550         .HS 8D
 1560         .AS -/SECOND LINE OF THE SCREEN/
 1570         .HS 8A
 1580         .AS -/...AND THE THIRD/
 1590         .HS 00       END MSG
 1600         JSR W
 1610         JSR MSG.IN.WINDOW
 1620         .DA #6       BOTTOM WINDOW
 1630         .AS -/LINE 21/
 1640         .HS 8A
 1650         .AS -/...LINE 22/
 1660         .HS 8A.8A
 1670         .AS -/...AND LINE 24/
 1680         .HS 00       END MSG
 1690         JSR W
 1700         JSR MSG.IN.WINDOW
 1710         .DA #0       FULL SCREEN
 1720         .AS -/MY MESSAGE/
 1730         .HS 00       END MSG
 1740         RTS
 1750  *--------------------------------
 1760  W      LDA $C000    WAIT FOR KEY BEFORE CONTINUING
 1770         BPL W
 1780         STA $C010
 1790         RTS
 1800  *--------------------------------

